From: Keir Fraser Date: Fri, 4 Dec 2009 07:06:47 +0000 (+0000) Subject: libxenlight: disk and nic destroy calls X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~12962 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22Dat/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22Dat?a=commitdiff_plain;h=1835885f4fb1175b4fd8a9a65d704681b37f916d;p=xen.git libxenlight: disk and nic destroy calls Expose disk and nic device destroy calls Also removes the obsolete device shutdown calls. Signed-off-by: Andres Lagar-Cavilla --- diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index 41010ef5df..b101acb48b 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -1123,14 +1123,21 @@ int libxl_device_disk_add(struct libxl_ctx *ctx, uint32_t domid, libxl_device_di return 0; } -int libxl_device_disk_clean_shutdown(struct libxl_ctx *ctx, uint32_t domid) +int libxl_device_disk_del(struct libxl_ctx *ctx, + libxl_device_disk *disk, int wait) { - return ERROR_NI; -} + libxl_device device; + int devid; -int libxl_device_disk_hard_shutdown(struct libxl_ctx *ctx, uint32_t domid) -{ - return ERROR_NI; + devid = device_disk_dev_number(disk->virtpath); + device.backend_domid = disk->backend_domid; + device.backend_devid = devid; + device.backend_kind = + (disk->phystype == PHYSTYPE_PHY) ? DEVICE_VBD : DEVICE_TAP; + device.domid = disk->domid; + device.devid = devid; + device.kind = DEVICE_VBD; + return libxl_device_del(ctx, &device, wait); } /******************************************************************************/ @@ -1196,14 +1203,19 @@ int libxl_device_nic_add(struct libxl_ctx *ctx, uint32_t domid, libxl_device_nic return 0; } -int libxl_device_nic_clean_shutdown(struct libxl_ctx *ctx, uint32_t domid) +int libxl_device_nic_del(struct libxl_ctx *ctx, + libxl_device_nic *nic, int wait) { - return ERROR_NI; -} + libxl_device device; -int libxl_device_nic_hard_shutdown(struct libxl_ctx *ctx, uint32_t domid) -{ - return ERROR_NI; + device.backend_devid = nic->devid; + device.backend_domid = nic->backend_domid; + device.backend_kind = DEVICE_VIF; + device.devid = nic->devid; + device.domid = nic->domid; + device.kind = DEVICE_VIF; + + return libxl_device_del(ctx, &device, wait); } /******************************************************************************/ diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h index dd3d6dbe1e..794d1f3384 100644 --- a/tools/libxl/libxl.h +++ b/tools/libxl/libxl.h @@ -295,12 +295,10 @@ int libxl_detach_device_model(struct libxl_ctx *ctx, /* DM is detached even if error is returned */ int libxl_device_disk_add(struct libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk); -int libxl_device_disk_clean_shutdown(struct libxl_ctx *ctx, uint32_t domid); -int libxl_device_disk_hard_shutdown(struct libxl_ctx *ctx, uint32_t domid); +int libxl_device_disk_del(struct libxl_ctx *ctx, libxl_device_disk *disk, int wait); int libxl_device_nic_add(struct libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic); -int libxl_device_nic_clean_shutdown(struct libxl_ctx *ctx, uint32_t domid); -int libxl_device_nic_hard_shutdown(struct libxl_ctx *ctx, uint32_t domid); +int libxl_device_nic_del(struct libxl_ctx *ctx, libxl_device_nic *nic, int wait); int libxl_device_console_add(struct libxl_ctx *ctx, uint32_t domid, libxl_device_console *console);